Voice interaction for location-relevant mobile resource management

ABSTRACT

A system and method for voice interaction for location-relevant mobile resource management are disclosed. In one embodiment, a network server transmits a voice message to a voice device at a mobile unit upon detection that the mobile unit is within a predetermined distance of a certain location. Pursuant to another embodiment, the network server receives a voice request for location-relevant information from a user at a mobile unit and transmits responsive location-relevant information to the user as a voice message. The network server may also conduct certain actions responsive to voice requests received from users at mobile units. Users may receive information from the server via voice devices even when not located at a mobile unit.

TECHNICAL FIELD

[0001] The invention relates to a system and a method for voiceinteraction for location-relevant mobile resource management.

BACKGROUND

[0002] Methods for determining the position of mobile units such asvehicles, airplanes, and ships include time difference of arrival(TDOA), angle of arrival (AOA), ray tracing/pattern recognition, globalpositioning system (GPS), and hybrid methods using network connections.Among the available methods, GPS includes a plurality of satellitesorbiting the earth and sending out positioning information that can beused to calculate vehicle positions. A GPS receiver receives thepositioning information from the GPS satellites and uses the positioninginformation to obtain the position of the receiver. A more detaileddiscussion of a GPS receiver is found in U.S. Pat. No. 5,990,827 toRodric C. Fan, et al. entitled “Structure of a Position ProcessingApparatus,” which is incorporated herein by reference in its entirety.

[0003] In using GPS to locate mobile units, such as vehicles, eachmobile unit is equipped with a GPS receiver and a wireless transmitter.Using the GPS receiver and the transmitter, the mobile unit determinesits position and transmits the position to a ground station. The groundstation for a conventional mobile unit locating system normally includesa map database search system and some type of storage medium that storesdigital maps and travel-related information. Thus, upon receiving themobile unit positions from the mobile units, the ground station combinesthe stored data with the received information and displays the presentmobile unit positions on a digital map.

[0004] In some cases, a data network, such as the Internet, is involvedin locating mobile units. When a data network is involved, a locationdetermination device at or in the mobile unit determines the position ofthe mobile unit and transmits the position information to a networkserver. This data transmission from a mobile unit to the network serveris accomplished wirelessly by, for example, cellular digital packet datanetwork (CDPD) that connects to a data network (e.g., the Internet),which in turn provides access to the network server.

[0005] Pursuant to some embodiments, the mobile units may transmit rawdata to the network server so that the network server can make theposition determination. In a system that involves a network server, thenetwork server instead of the ground station may access the data storagemedium. The data storage medium contains location-relevant informationsuch as maps, locations of other mobile units, locations of servicestations, and locations of other destinations of interest. Thus, thedata processing unit organizes the measured position and generates anarea map. The area map indicates by a position marker the position ofeach mobile unit.

[0006] As mentioned above, location determination devices in mobileunits can connect to data networks (e.g., the Internet) wirelesslythrough communication networks, for example a CDPD network. Additionaldetails regarding CDPD systems are further described in K. Budka et al.,“Cellular Digital Packet Data Networks,” Bell Labs Technical Journal,Vol. 2, No. 3 (Summer 1997); “Cellular Digital Packet Data SystemsSpecification: Releases 1.1,” CDPD Forum, Inc., Chicago (1995); and M.S. Taylor et al., “Internet Mobility: The CDPD Approach,” Prentice HallPTR, Upper Saddle River, N.J. (1996).

[0007] In the past, however, the driver, or other occupant of a vehicle,has typically used a visual display device disposed within the vehicleto visually and manually access and interface with location-relevantinformation available from the data network. These conventional visualdisplay devices provide limited visual display capability, which limitsthe quantity of location-relevant information and the speed at which thevehicle occupant may receive such information. Users usually enterinformation into the visual display device manually and receiveinformation from the device visually, such as by reading. In somesituations, or applications, such as when the user is driving, thismethod of interaction may be cumbersome, inefficient, or both. Due tothe difficulty for the user in interfacing with information availablefrom the data network, in the past, interaction between the user andsuch information has been limited.

[0008] Additionally, these conventional visual display devices aretypically mounted on the vehicle. Thus, users may only access andinterface with location-relevant information on the network at thevehicle and can not access or interface with the information when awayfrom the visual display device.

[0009] A need exists, therefore, for an improved system and method forproviding location-relevant information to mobile units, such asvehicles, which can provide the location-relevant information in animproved manner to overcome or alleviate limitations of conventionalsystems and methods.

SUMMARY

[0010] A system and method are provided for delivering location-relevantinformation to a user by receiving user location information at anetwork server and then using the user location information to create auser message at the network server. The network server may transmit theuser message to the user as a voice message to permit the user to accesslocation-relevant information in an audible manner.

[0011] Another embodiment provides a system and method for deliveringlocation-relevant information by receiving user location information ata network server and receiving a voice query from the user at thenetwork server. A voice processor at the network server converts thevoice query to a corresponding data message. The network server uses theuser location information to create a response to the data message andtransmits the response as a voice message.

[0012] Accordingly, the present system and method permit a user toreceive location-relevant information audibly over a voice-enableddevice and to make queries for location-relevant information via avoice-enabled device. The voice-enabled device may comprise, forexample, a cellular telephone or a voice-enabled personal digitalassistant (PDA). Receiving such location-relevant information in thismanner may be more efficient and less cumbersome, in some applications,than using a visual or manual interface device.

BRIEF DESCRIPTION OF THE DRAWINGS

[0013]FIG. 1 illustrates a system for providing voice interaction forlocation-relevant mobile resource management according to one embodimentof the present invention.

[0014]FIG. 2 illustrates details of the server of FIG. 1 according toone embodiment of the present invention.

[0015]FIG. 3 is a flowchart illustrating a method according to oneembodiment of the present invention.

[0016]FIG. 4 is a flowchart illustrating a method according to oneembodiment of the present invention.

[0017]FIG. 5 is a flowchart illustrating a method according to oneembodiment of the present invention.

[0018] In the various drawings of the various embodiments, similarfeatures of the various embodiments typically have the same referencenumbers.

DETAILED DESCRIPTION

[0019]FIG. 1 provides an overview of one embodiment of a location-basedinformation system 100 in accordance with the present invention. Theembodiment of FIG. 1 includes GPS satellites 102, a wide area network104, a server computer 106, a client computer 108, and mobile units,such as vehicles, 110 and 112. The mobile units 110 and 112 havelocation devices 114 and 116 respectively disposed therein.Additionally, the mobile units 110 and 112 also have voice devices 118and 120 respectively disposed therein. The voice devices 118 and 120 maycomprise hands-free cellular device systems, which may be operated byvoice commands in a hands-free manner.

[0020] The mobile unit 112 illustrates the location device 116 and thevoice device 120 being disposed in a common housing 121. In oneembodiment, the common housing 121 is that of a cellular telephonedevice. Because the device enclosed by the housing 121 is notnecessarily mounted on the vehicle 112, the device may be used outsideof and away from the vehicle 112 in an independent manner.

[0021] The location devices 114 and 116 may comprise any of a variety ofconventional location determination devices. For example, the devices114 and 118 may use location determination techniques including globalpositioning system (GPS), time difference of arrival (TOA), angle ofarrival (AOA), ray tracing/pattern recognition, hybrid methods of theforegoing, and the like to determine the location of the device. Each ofthe location devices 114 and 118 includes a wireless transmitter, suchas a CDPD modem, to periodically and wirelessly transmits user locationdata 122 to the server 106 via a base station 124, a gateway 126, andthe wide area network 104. In one embodiment, the wide area networkcomprises the Internet. Additional details regarding one embodiment of alocation device 114, 118 are disclosed in U.S. Pat. No. 5,990,827, whichis hereby incorporated herein by reference in its entirety.

[0022] Each of the voice devices 118 and 120 may comprise a cellulartelephone, a voice-enabled PDA, or the like and may be used by a user towirelessly communicate by voice with the server 106. In particular, thevoice devices 118 and 120 communicate wirelessly with the server 106 viaa base station 130, a gateway 132, and the wide area network (WAN) 104.Other voice devices (not shown) may also communicate with the server 106even when not located at a mobile device. Alternatively, the server 106could be directly coupled to the base station 130 to eliminate use ofthe gateway 132 and WAN 104.

[0023] The location devices 114 and 116 and the voice devices 118 and120 respectively communicate with corresponding base stations, such asthe base stations 124, 130 using conventional protocols and techniques,including CDPD, GSM, iDEN, AMPS, CDMA, or the like.

[0024] In this configuration, the location devices 114 and 116periodically and continuously transmit user location information to theserver 106. Alternatively, or additionally, the location devices 114 and116 may transmit the user location information to the server 106 ondemand by the user, upon request by the server 106, or both. The userlocation information comprises information indicating the location ofthe transmitting location device 114, 116.

[0025] Pursuant to one embodiment, and as discussed in more detailbelow, by using one of the voice devices 118, 120, or another voicedevice, a user may obtain a variety of location-relevant informationfrom the server 106. As discussed in more detail below, the server 106includes a voice processor of conventional design that receives a voicequery from a voice device and converts the received voice query into acorresponding data message. The server 106 then determines a response tothe voice query and transmits a responsive voice message to the user viathe voice processor. Thus, this embodiment permits the user to obtainlocation-relevant information from the server 106 in an audible mannerby sending and receiving voice messages wirelessly using a voice device.Alternatively, the user may transmit a query using a keypad device, thevoice devices 118, 120 comprise keypad devices in that they includekeypads to enable telephone number dialing. Also, the server 106 mayrespond to the user query by transmitting a non-voice message to adisplay device at the associated mobile unit 110, 112.

[0026] The responsive voice message may comprise, for example, drivingdirections from the current location of the user to a particularlocation, such as to the object 140. Additional details regarding thisembodiment and the server 106 are described below.

[0027] In another embodiment, the server 106 monitors the location ofeach mobile unit, by periodically and continually receiving userlocation information from a location device disposed within theassociated mobile unit. Using the received user location informationfrom the location device 114, the server 106 generates a telephone callto the associated voice device 118 when the user location informationindicates that the mobile unit, such as the vehicle 110, is, forexample, within a predetermined distance to an object 140. The server106 may deliver a voice message to the user within the vehicle 110regarding the object 140. The object 140 may comprise, for example, ageographical location, a business, another mobile unit, or the like.Additional details regarding this embodiment are described below.

[0028] According to yet another embodiment, a user may transmit a voicemessage to the server 106 requesting that the server 106 execute aparticular action. For example, a user may send a voice message from thevoice device 118 to the server 106 requesting that the server 106execute a business transaction or send a voice message to all mobiledevices currently located in a particular geographical area. In oneembodiment, the voice message comprises driver instructions. Additionaldetails regarding this embodiment are described below.

[0029] As discussed in more detail below, the server 106 also maintainsa log of the various mobile unit locations as well as all of thereceived and transmitted voice messages.

[0030] In addition, the client computer 108 may also access informationstored on the server 106 and may supply information to the server 106over the network 104.

[0031] Additional details regarding features of the system 100 and thelocation devices 114 and 116 are described in U.S. patent applicationSer. No. 09/697,690, entitled “System and Method for Providing MobileLocation-Relevant Commerce” filed Oct. 25, 2000, and U.S. patentapplication Ser. No. 09/599,053 entitled “Dual PlatformLocation-Relevant Service” filed Jun. 21, 2000, both of which are herebyincorporated herein by reference in their respective entireties.

[0032]FIG. 2 illustrates details of the server 106. As shown, the server106 includes a processing unit 202, a memory 204, a log database 206, atraffic database 208, a maps database 210, and a voice processor 212.The processing unit 202 may comprise a general-purpose computer, such asa mainframe computer, or a computer system including a database serverand a web page server.

[0033] The voice processor 212 receives voice messages from voicedevices, such as the voice devices 118 and 120 (FIG. 1) and converts thereceived voice messages to corresponding data messages and passes thecorresponding data messages to the processing unit 202 for processing.The voice processor 212 also receives outgoing data messages from theprocessing unit 202 and converts the outgoing data messages intocorresponding voice messages and transmits the corresponding voicemessages to one or more voice devices, such as the voice devices 118 and120.

[0034] The voice processor 212 is of conventional design and maycomprise components such as, for example, a Global SCSA 4-Port VoiceProcessing Board and SingleSpan Series ISDN PRI Boards available fromIntel Corporation, Santa Clara, Calif. Other voice processing equipmentmay also be employed. Additional details regarding voice processingequipment and methods are disclosed in U.S. Pat. No. 5,991,739, to Cuppset al., and entitled “Internet Online Order Method and Apparatus” whichis hereby incorporated by reference in its entirety.

[0035] In another embodiment, the functions of the voice processor 212are performed at the various voice devices 118 and 120. Pursuant to thisembodiment, each voice device converts received voice messages intocorresponding data messages readable by the processing unit 202 andconverts received data messages into corresponding voice messages.

[0036] The processing unit 202 also receives location and non-locationinformation from the location devices 114 and 116 as data over thenetwork 104 (FIG. 1). In one embodiment, the processing unit 202 usesthe received location information to compute the location and velocityof each mobile unit. The respective location and, optionally, velocity,of each of the mobile units are stored in the mobile unit locations 214portion of the memory 204. Alternatively, the mobile unit locations 214portion of the memory 204 may comprise a database. Details regarding amethod of determining location data using GPS code sequences aredescribed in U.S. Pat. No. 5,959,577 to R. Fan, et al., and entitled“Method and Structure for Distribution of Travel Information UsingNetwork,” which is hereby expressly incorporated herein by reference inits entirety.

[0037] Interface engine 216 is stored in memory 216 and manages theinteraction between one or more users and the server 106. In oneembodiment, when a user sends a voice message to the server 106, thevoice message is received at the voice processor 212 and converted to acorresponding data message, which is then received by the interfaceengine 216 via the processing unit 202. The interface engine 216 thencalculates, or determines a response to the message using the mobileunit locations 214 and the data stored in the various databases 206,208, and 210. If the determined response is a voice message, then theinterface engine 216 generates a data message corresponding with theresponsive voice message and passes the data message to the voiceprocessor 212 via the processing unit 202 for transmission to the user.

[0038] The log database 206 includes a record of the locations andvelocities of the various mobile units, such as the vehicles 110 and 112(FIG. 1). In addition, the log database includes a record of theinteractions, including voice interactions, between users and the server106. Thus, when a user makes a voice request or query to the server 106via the voice processor 212, the interface engine 216 records datarepresentative of the voice request or query in the log database 206.The log database 206 is useful in tracking the history of movements ofthe various mobile units as well as tracking the messages sent betweenthe server 106 and the users.

[0039] The traffic database 208 contains traffic information. Thetraffic information may include, for example, historical traffic datafor a predetermined time frame (e.g., three days) and traffic patterndata under typical conditions. This historical traffic data permits theinterface engine 216 to provide users with specific traffic informationregarding specific streets at certain times of the day. Moreover, thetraffic information may also include marketplace traffic data obtainedfrom real time traffic reports, such as those available on traffic andnews websites. The marketplace traffic data may be supplemented withtraffic data received by the various mobile units reporting userlocation information to the server 106. Additional details regarding thetraffic database 208 are described in U.S. patent application Ser. No.09/898,682, entitled “Using Location Data to Determine TrafficInformation,” by Rodric C. Fan, Xinnong Yang, James D. Fay, filed Jul.3, 2001.

[0040] The maps database 210 includes maps, road segments, and road datafor use by the interface engine 216 in providing information to user viavoice messages. The road segments comprise information regarding a stripor portion of a street having a same continuous speed limit and may beuseful in determining an estimated travel time between two locations.The road data may include data such as speed limits, locations oftraffic lights, stop signs, one-way streets, and toll road information.Moreover, the maps database 210 includes location information for manybusinesses, such as gas stations and restaurants, as well as othergeographical locations.

[0041] The current locations of the various mobile units, such as thevehicles 110 and 112 (FIG. 1), are stored in memory 204 at mobile unitlocations 214. The mobile unit locations 214 are periodically andcontinually updated by the receipt of new user location information fromlocation devices 114 and 116 at the various mobile units. Each mobileunit includes a location device, such as the location devices 114 and116.

[0042] Additional details regarding the operation of the interfaceengine 216, the server 106, and the system 100 (FIG. 1) are describedbelow with reference to FIGS. 3-6.

[0043]FIG. 3 is a flowchart illustrating a method 300 according to oneembodiment of the present invention. As shown, the method 300 commencesat block 302 with the server 106 receiving user location information. Inparticular, the location devices 114 and 116 (FIG. 1) periodically andcontinually transmit user location information in a wireless manner tothe server 106 via the base station 124, the gateway 126, and thenetwork 104. The server 106 receives these periodic transmissions ofuser location information and stores such information in the mobile unitlocations 214 and in the log database 206.

[0044] The server 106 may also receive non-location information from alocation device 114, pursuant to block 304. The non-location informationmay include vehicle status information such as engine temperature, fueltank level, oil pressure, vehicle speed, tire pressure, and the like,where the location device 114 is coupled to a vehicle data bus of theassociated vehicle 110. The non-location information may also containother, non-vehicle-related information, such as, for example, the timeof day or some other information. This non-location information may bewirelessly transmitted by the location device 114 using the wirelessmodem disposed therein. Thus, similar to the user location information,the location device 114 may periodically and continually transmitnon-location information to the server 106 in a wireless manner to theserver 106 via the base station 124, the gateway 126, and the network104. The non-location information may also be stored by the server 106in the log database 206 and in the mobile unit locations 214 of thememory 204.

[0045] Next, pursuant to block 306, the interface engine 216 determinesfor a particular user whether the user location is within apredetermined distance from a predetermined location using the mapsdatabase 210 and the mobile unit locations 214. For example, theinterface engine 216 may determine the driving distance between theobject 140 (FIG. 1) and the vehicle 110 using the maps database 210 andthe mobile unit locations 214. If the interface engine 216 determinesthat the driving distance between the location of the vehicle 110 andthe object 140 is within (e.g., less than or equal) a predetermineddistance (e.g., two miles) then execution proceeds to block 308, elseexecution proceeds to block 312 as illustrated in FIG. 3.

[0046] At block 308, the interface engine 216 determines whether theserver 106 has sent a message to the user at the vehicle 110 regardingthe predetermined location, such as the object 140 (FIG. 1) within apredetermined time. If the server 106 has not sent a message to the userat the vehicle 110 within a predetermined time (e.g., one hour),execution proceeds to block 310, else execution proceeds to block 312.

[0047] At block 310, the server 106 transmits a voice message regardingthe predetermined location 140 to the user at the vehicle 110 via thevoice device 118. In particular, the interface engine 216 generates adata message corresponding to a voice message regarding thepredetermined location 140 to be sent to the user at the vehicle 110 viathe voice device 118. The interface engine 216 passes the data messageto the processing unit 202, which causes the data message to betransmitted to the voice device 118 via the voice processor 212. Thus,the user at the vehicle 110 will receive a telephone call on voicedevice 118 with a voice message regarding the predetermined location140. For example, the voice message might state “You are presentlywithin two kilometers from the ABC Company. Would you like drivingdirections to this location?”

[0048] The specific content of the voice message may, however, vary. Inone embodiment, the voice message may include a notification regardingthe proximity of the vehicle 110 to the predetermined location 140. Inanother embodiment, the voice message may include instructions for theuser to take some action regarding the predetermined location, such asto effect a particular transaction at the predetermined location 140.The voice message may also include driving directions for the user todrive from the current location of the user to the predeterminedlocation. Thus, the user, such as the driver or other occupant of thevehicle 110, may receive a telephone call on a voice device 118 andlisten to a voice message regarding the predetermined location. The usermay also send voice messages to the server 106 and receive furtherinformation from the server 106 as described below with reference toFIG. 4.

[0049] At block 312, the interface engine 216 determines whether theuser non-location information falls within a predetermined range ofacceptable values. As mentioned above, the user non-location informationmay comprise information regarding the status of the vehicle 110, suchas the engine temperature, fuel level, oil pressure, tire pressure,vehicle speed, or the like. If one or more of these parameters isoutside the range of predetermined values for the parameter, executionproceeds to block 314, else execution proceeds to block 316.

[0050] At block 314, the server 106 transmits a voice message to theuser at the vehicle 110 regarding the non-location information. Forexample, if the non-location information was the amount of fuel in thevehicle 110 and that amount was less than a predetermined amount, thenthe server 106 would transmit a voice message to the user at the vehicle110 via the voice device 118 regarding the amount of fuel remaining inthe vehicle 110. In particular, the voice message might containinformation regarding the distance the vehicle will be able travelwithout refueling and the identification of gas stations within apredetermined distance from the current location of the vehicle 110.Thus, the user, such as the driver or other occupant of the vehicle 110may receive a telephone call on a voice device 118 and listen to a voicemessage regarding the non-location information. The user may also sendvoice messages to the server 106 and receive further information fromthe server 106 as described below with reference to FIG. 4.

[0051] At block 316, the server 106 records the content and time of anyvoice messages transmitted or received at the server 106 in the logdatabase 206. The server 106 also records the user location informationin the log database 206. The server 106 may alternatively record thecontent and time of the voice messages transmitted or received at theserver 106 at the time of their transmission or reception, respectively.

[0052] Execution then returns to block 302. In this manner, the server106 monitors the location of the various mobile units relative tocertain predetermined locations and sends a voice message to a mobileunit when the server 106 determines that the mobile unit is within apredetermined distance from one or more of the predetermined locations.In addition, the server 106 monitors user non-location information andtransmits a voice message to the user when the non-location informationis outside a predetermined range.

[0053]FIG. 4 is a flowchart illustrating a method 400 according to oneembodiment of the present invention. As shown, the method 400 commencesat block 402 with the user placing a telephone call from a voice device,such as the voice device 118 (FIG. 1) to the server 106 and performing alogin operation. In one embodiment, the user speaks a voice login accesscode. In another embodiment, the user enters a login access code usingdialing buttons or another input mechanism on the voice device.

[0054] Next, the server 106 receives user location information pursuantto block 404. As discussed above, the location devices 114 and 116(FIG. 1) periodically and continually transmit user location informationin a wireless manner to the server 106 via the base station 124, thegateway 126, and the network 104. The server 106 receives these periodictransmissions of user location information and stores such informationin the mobile unit locations 214 and in the log database 206.

[0055] The server 106 may also receive non-location information from alocation device 114 where the location device 114 is coupled to avehicle data bus (not shown) of the associated vehicle 110, pursuant toblock 406.

[0056] At block 408, the server 106 receives a voice message such as aquery or request from the user at the mobile unit 110 via the voicedevice 118. In particular, with a telephone call between the server 106and the voice device 118 initiated and in progress, the user speaks avoice message into the voice device 118, which then wirelessly transmitsthe voice message to the server 106 via the base station 130, thegateway 132, the wide area network 104. The server 106 receives thevoice message via the voice processor 212.

[0057] Next, pursuant to block 410, the voice processor converts thereceived voice message to a corresponding data message and sends thedata message to the processing unit 202.

[0058] At block 412, the interface engine 216 receives the data messagecorresponding to the voice message from the user and determines aresponse to the message using the user location information, the usernon-location information, or both. In addition, the interface engine 216may access information stored in one or more of the databases 206, 208,and 210 in determining the response. The voice processor 212 thenconverts the response to a voice message at block 414 and transmits thevoice message to the user at the voice device 118, pursuant to block416.

[0059] As mentioned above, the user's voice message may comprise a queryor request for information and, as such, the content of the voicemessage may vary. In one embodiment, the voice message may include arequest for traffic information. In response, the interface engine 216accesses the traffic database 208 as well as the user locationinformation to generate a response to the user's voice message. Theresponse may include traffic information relevant to the currentlocation of the user as indicated by the user location information.

[0060] In another embodiment, the user's voice message may comprise arequest for driving or routing directions from the user's currentlocation to a particular destination. In response, the interface engine216 accesses the maps database as well as the user location informationto generate a response to the user's voice message. The response thusmay include point-to-point directions to a particular locationidentified in the user's voice message from the current location of theuser as indicated by the user location information.

[0061] Pursuant to another embodiment, the user's voice message maycomprise a request for location information of the user. In response,the interface engine 216 accesses the maps database as well as the userlocation information to determine the location of the user. The server106 may then communicate, via a voice message, to the user the locationof the user, such as by identifying the street on which the user istraveling, the direction of travel, the nearest cross-streets, or thelike.

[0062] In another embodiment, the user's voice message may comprise arequest for location information of one or more other mobile units. Theuser's voice message may specifically request the location of aparticular mobile unit or the user's voice message may request thelocation, identity, or both for all mobile units within a particulargeographical region. The particular geographical region may comprise anarea defined by a specific radius or distance from a certain location.In response, the interface engine 216 may access the maps database 210as well as the mobile unit locations 214 to generate a response. Theserver 106 may then communicate to the user the location of a specificother mobile unit or the location and identity of all mobile unitslocated within a particular geographical region.

[0063] Pursuant to yet another embodiment, the user's voice message maycomprise a request for information at least partially based onnon-location information. For example, the user's voice message maycomprise a request for the distance the vehicle 110 is able to travelwithout refueling. In response, the interface engine 216 calculates thisdistance using the user non-location information, which may include thetype of vehicle and the amount of fuel in the fuel tank of the vehicle.Based on these parameters and stored information relating to the fuelefficiency or miles/gallon of the particular vehicle type, the interfaceengine 216 calculates the distance the vehicle may travel withoutrefueling. The server 106 then communicates this distance to the user asa voice message via the voice processor 212.

[0064] In another embodiment, the user's voice message may comprise arequest that the server 106 save, or store in memory, a request forpoint-to-point directions. The server 106, in turn, monitors the user'sprogress along the path defined by the point-to-point directions andtransmits a voice message to the user if the user ventures more than apredetermined distance from the path. For example, such a message maynotify the user that the user is more than a predetermined distance fromthe path and may ask user if the user would like updated directionsbased on the user's current location, or both.

[0065] At block 418, the interface engine 216 determines whether theuser session is complete, such as by detecting that the voice device 118has gone on-hook or has been hung-up, thus terminating the telephonecall or by receiving a termination message from the user via the voicedevice 118. If the interface engine 216 determines that the session iscomplete, execution proceeds to block 420, else execution returns toblock 404.

[0066] At block 420, the server 106 records information regarding alltransmitted and received voice messages during the session and alsorecords user location information and user non-location information inthe log database 206. At block 422, the interface engine 216 performs alogout operation, which terminates the user session with the server 106.The method 400 ends at block 424.

[0067]FIG. 5 is a flowchart illustrating a method 500 according to oneembodiment of the present invention. As shown, the method 500 commencesat block 502 with the user placing a telephone call from a voice device,such as the voice device 118 (FIG. 1) to the server 106 and performing alogin operation. In one embodiment, the user speaks a voice login accesscode. In another embodiment, the user enters a login access code usingdialing buttons on the voice device.

[0068] Next, the server 106 receives user location information pursuantto block 504. As discussed above, the location devices 114 and 116(FIG. 1) periodically and continually transmit user location informationin a wireless manner to the server 106 via the base station 124, thegateway 126, and the network 104. The server 106 receives these periodictransmissions of user location information and stores such informationin the mobile unit locations 214 and in the log database 206.

[0069] The server 106 may also receive non-location information from alocation device 114where the location device 114 is coupled to, forexample, a vehicle data bus (not shown) of the associated vehicle 110, aPDA handheld supply chain management device, or some other mobile devicepursuant to block 506.

[0070] At block 508, the server 106 receives a voice message such asrequest from the user at the mobile unit 110 via the voice device 118.In particular, with a telephone call between the server 106 and thevoice device 118 initiated and in progress, the user speaks a voicemessage into the voice device 118, which then wirelessly transmits thevoice message to the server 106 via the base station 130, the gateway132, the wide area network 104. The server 106 receives the voicemessage via the voice processor 212.

[0071] Next, pursuant to block 510, the voice processor converts thereceived voice message to a corresponding data message and sends thedata message to the processing unit 202.

[0072] At block 512, the interface engine 216 receives the data messagecorresponding to the voice message from the user and determines anaction responsive to the message using the user location information,the user non-location information, or both. In addition, the interfaceengine 216 may access information stored in one or more of the databases206, 208, and 210 in determining the responsive action. The interfaceengine 216 then executes the determined responsive action pursuant toblock 512.

[0073] In this embodiment, the user's voice message may comprise arequest for a particular action and, as such, the content of the voicemessage may vary. In one embodiment, the voice message may include arequest for a broadcast voice message to be delivered to set of mobileunits. For example, the user's voice message may specify that all mobileunits within a predetermined distance of a certain location will receivea particular broadcast message. In response, the interface engine 216accesses mobile unit locations 214 and the maps database 210 to identifythe mobile units within the specified area. The interface engine 216then executes the responsive action by sending a voice message to eachof the identified mobile units.

[0074] In another embodiment, the user's voice message may comprise arequest for the execution of a business transaction. For example, thevoice request may comprise a request for a tow truck, where the server106 requests or schedules a tow truck, such as from a third party toarrive at the user's current location as stored in the mobile unitlocations 214. The scheduling of the tow truck may be via the voiceprocessor or as a data transmission.

[0075] At block 516, the interface engine 216 determines whether theuser session is complete, such as by detecting that the voice device 118has gone on-hook or has been hung-up, thus terminating the telephonecall or by receiving a termination message from the user via the voicedevice 118. If the interface engine 216 determines that the session iscomplete, execution proceeds to block 518, else execution returns toblock 504.

[0076] At block 518, the server 106 records information regarding alltransmitted and received voice messages and responsive actions duringthe session and also records user location information and usernon-location information in the log database 206. At block 520, theinterface engine 216 performs a logout operation, which terminates theuser session with the server 106. The method 500 ends at block 522.

[0077] The above detailed description and accompanying drawings areprovided to illustrate the specific embodiments of the present inventionand are not intended to be limiting. Numerous modifications andvariations within the scope of the present invention are possible. Thepresent invention is particularly pointed out and distinctly claimed inthe following claims.

What is claimed is:
 1. A method for providing location-relevantinformation to a user, the method comprising: receiving user locationinformation at a network server from a location device; receiving avoice query; converting the voice query to a corresponding data message;using the user location information to create a response to the datamessage at the network server; transmitting the response as a voicemessage.
 2. The method of claim 1, wherein a user transmits the voicequery via a telephone handset.
 3. The method of claim 1, wherein thenetwork server effects a business transaction in response to the voicemessage.
 4. The method of claim 1, wherein the network server effects abusiness transaction in response to the voice message by transmitting anetwork server voice message to a third party.
 5. The method of claim 1,wherein the response comprises routing information based on the userlocation information.
 6. The method of claim 1, wherein the responsecomprises location information of at least one other location device. 7.The method of claim 1, wherein the response comprises locationinformation of at least one business enterprise.
 8. The method of claim1, wherein the response comprises the identity of at least one mobileunit within a predetermined distance from the user location.
 9. Themethod of claim 1, wherein the voice query includes a specified distanceand the response comprises the identity of at least one mobile unitwithin the specified distance from the user location.
 10. The method ofclaim 1, wherein the voice query includes identification informationrelating to a single mobile unit and the response comprises the locationof the single mobile unit.
 11. The method of claim 1, wherein thetransmitting the response as a voice message comprises transmitting avoice message to a set of mobile units located within a predefineddistance from the user.
 12. The method of claim 1, wherein the voicequery includes a specified distance and the transmitting the response asa voice message comprises transmitting a voice message to a set ofmobile units located within the specified distance from the user. 13.The method of claim 1, wherein the user transmits the user locationinformation via a first device and the user transmits the voice queryvia a second device, the first and second devices being separatelyhoused.
 14. The method of claim 1, wherein the user transmits the userlocation information and the voice query via a single device housed in asingle housing.
 15. The method of claim 1, wherein the network servermaintains a log of the user location information, the voice query, thetime of the voice query, and the response.
 16. A method for providinglocation-relevant information to a user, the method comprising:receiving user location information from a location device at a networkserver; using the user location information to create a user message atthe network server; transmitting the user message to the user as a voicemessage.
 17. The method of claim 16, wherein the network serverselectively transmits the user message based on the user locationinformation.
 18. The method of claim 16, wherein the user messagecomprises traffic information.
 19. The method of claim 16, wherein theuser message comprises at least a portion of the user locationinformation.
 20. The method of claim 16, wherein the user messagecomprises instructions.
 21. The method of claim 16, wherein the networkserver maintains a log of the user location information, the voicequery, the time of the voice query, and the response.
 22. The method ofclaim 16 wherein the user message comprises business locationinformation of at least one business.
 23. The method of claim 16 furthercomprising: receiving user location information for multiple users atthe network server; selectively transmitting the user message to each ofthe multiple users as a voice message based on the user locationinformation for each user.
 24. The method of claim 16 furthercomprising: receiving user vehicle status information at a networkserver; selectively transmitting a voice message to the user based onthe vehicle status information.
 25. A method for providinglocation-relevant information to a user, the method comprising:receiving user location information at a network server from a locationdevice; receiving a user query; using the user location information tocreate a response to the user query at the network server; transmittingthe response as a voice message.
 26. The method of claim 25, wherein theuser query comprises a voice query.
 27. The method of claim 25, whereinthe user query is transmitted via a keypad device.
 28. The method ofclaim 25, wherein the user query is comprises voice and akeypad-generated components.
 29. The method of claim 25, wherein theresponse comprises routing information based on the user locationinformation.
 30. The method of claim 25, wherein the response compriseslocation information of at least one other location device.
 31. Themethod of claim 25, wherein the response comprises location informationof at least one business enterprise.
 32. The method of claim 25, whereinthe response comprises the identity of at least one mobile unit within apredetermined distance from the user location.
 33. The method of claim25, wherein the query includes a specified distance and the responsecomprises the identity of at least one mobile unit within the specifieddistance from the user location.
 34. The method of claim 25, wherein thequery includes identification information relating to a single mobileunit and the response comprises the location of the single mobile unit.35. The method of claim 25, wherein the transmitting the response as avoice message comprises transmitting a voice message to a set of mobileunits located within a predefined distance from the user.
 36. The methodof claim 25, wherein the query includes a specified distance and thetransmitting the response as a voice message comprises transmitting avoice message to a set of mobile units located within the specifieddistance from the user.
 37. The method of claim 25, wherein the networkserver maintains a log of the user location information, the voicequery, the time of the voice query, and the response.
 38. A method forproviding location-relevant information to a user, the methodcomprising: receiving user location information at a network server froma location device; receiving a voice query; converting the voice queryto a corresponding data message; using the user location information tocreate a response to the data message at the network server;transmitting the response.
 39. The method of claim 38, wherein thetransmitting the response further comprises transmitting the response asa voice message.
 40. The method of claim 38, wherein a user transmitsthe voice query via a telephone handset.
 41. The method of claim 38,wherein the network server effects a business transaction in response tothe voice message.
 42. The method of claim 38, wherein the networkserver effects a business transaction in response to the voice messageby transmitting a network server voice message to a third party.
 43. Themethod of claim 38, wherein the response comprises routing informationbased on the user location information.
 44. The method of claim 38,wherein the response comprises location information of at least oneother location device.
 45. The method of claim 38, wherein the responsecomprises location information of at least one business enterprise. 46.The method of claim 38, wherein the response comprises the identity ofat least one mobile unit within a predetermined distance from the userlocation.
 47. A system for providing location-relevant information to auser, the system comprising: means for receiving user locationinformation at a network server from a location device; means forreceiving a voice query; means for converting the voice query to acorresponding data message; means for using the user locationinformation to create a response to the data message at the networkserver; means for transmitting the response as a voice message.
 48. Asystem for providing location-relevant information to a user, the systemcomprising: means for receiving user location information from alocation device at a network server; means for using the user locationinformation to create a user message at the network server; means fortransmitting the user message to the user as a voice message.
 49. Asystem for providing location-relevant information to a user, the methodcomprising: means for receiving user location information at a networkserver from a location device; means for receiving a user query; meansfor using the user location information to create a response to the userquery at the network server; means for transmitting the response as avoice message.
 50. A system for providing location-relevant informationto a user, the method comprising: means for receiving user locationinformation at a network server from a location device; means forreceiving a voice query; means for converting the voice query to acorresponding data message; means for using the user locationinformation to create a response to the data message at the networkserver; means for transmitting the response.